﻿#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//struct Student
//{
//	int age;
//	struct
//	{
//		int year;
//		int month;
//		int day;
//
//	}birthday;
//}stu;
//int main()
//{
//	printf("%d", sizeof(stu));
//	struct Student stu[3] = {19,2024,9,26,20,2024,9,25};
//	for (int i = 0; i < 3; i++)
//	{
//		printf("%d %d %d %d\n", stu[i].age,stu[i].birthday.year,stu[i].birthday.month,stu[i].birthday.day);
//	}
//
//	return 0;
//}

//#include <stdio.h>
//#include <math.h>
//struct spot
//{
//	int x;
//	int y;
//};
//int main()
//{
//	struct spot a,b;
//	printf("input a spot:");
//	scanf("%d%d", &a.x, &a.y);
//	printf("input another spot:");
//	scanf("%d%d", &b.x, &b.y);
//	printf("the distance of two spot is %f\n", sqrt(abs(a.x - b.x) * abs(a.x - b.x) + abs(a.y - b.y) * abs(a.y - b.y)));
//
//	return 0;
//}

//#include <stdio.h>
//
//union MyUnion
//{
//	struct MyStruct
//	{
//		char a;
//		char b;
//		char c;
//		char d;
//	}storage;
//	unsigned int x;
//}stor;
//int main()
//{
//	stor.x = 0x44434241;
//	printf("%c%c%c%c", stor.storage.a, stor.storage.b, stor.storage.c,stor.storage.d);
//	return 0;
//}

//#include <stdio.h>
//struct FS
//{
//	int a;
//	int b;
//};
//int main()
//{
//	printf("input a 复数:");
//	struct FS first;
//	scanf("%d%d", &first.a, &first.b);
//	printf("input another 复数:");
//	struct FS second;
//	scanf("%d%d", &second.a, &second.b);
//	int x = first.a + second.a;
//	int y = first.b + second.b;
//	int j = first.a * second.a - first.b * second.b;
//	int k = first.a * second.b + first.b * second.a;
//	if (y > 0)
//	{
//		printf("the sum is %d+%di\n", x, y);
//	}
//	else if (y < 0)
//	{
//		printf("the sum is %d%di\n", x, y);
//	}
//	else
//	{
//		printf("the sum is %d\n", x);
//	}
//
//	if (k > 0)
//	{
//		printf("the multiple is %d+%di\n", j, k);
//	}
//	else if (k < 0)
//	{
//		printf("the multiple is %d%di\n", j, k);
//	}
//	else
//	{
//		printf("the multiple is %d\n",j);
//	}
//	return 0;
//}

//#include <stdio.h>
//struct Student
//{
//	int num;
//	char name[10];
//	float math;
//	float english;
//	float clanguage;
//	float sum;
//};
//int main()
//{
//	struct Student stu[5];
//	int max=0, min=0;
//	for (int i = 0; i < 5; i++)
//	{
//		printf("input %d info\n", i + 1);
//		printf("input num:");
//		scanf("%d", &stu[i].num);
//		printf("input name:");
//		scanf("%s", stu[i].name);
//		printf("input your score of math:");
//		scanf("%f", &stu[i].math);
//		printf("input your score of english:");
//		scanf("%f", &stu[i].english);
//		printf("input your score of clanguage:");
//		scanf("%f", &stu[i].clanguage);
//		stu[i].sum = stu[i].clanguage + stu[i].english + stu[i].math;
//		if (stu[i].sum > stu[max].sum)
//		{
//			max = i;
//		}
//		if (stu[i].sum < stu[min].sum)
//		{
//			min = i;
//		}
//	}
//	printf("the student of  max score is %s,the num is %d,the sum score is %f\n", stu[max].name, stu[max].num, stu[max].sum);
//	printf("the student of  min score is %s,the num is %d,the sum score is %f\n", stu[min].name, stu[min].num, stu[min].sum);
//
//	return 0;
//}


//#include <stdio.h>
//#include <math.h>
//struct spot
//{
//	int x;
//	int y;
//};
//int main()
//{
//	struct spot s1, s2;
//	printf("input a spot position(x,y):");
//	scanf("%d%d", &s1.x,&s1.y);
//	printf("input another spot position(x,y):");
//	scanf("%d%d",&s2.x, &s2.y);
//	printf("the middle position is (%.2f,%.2f)\n", (s1.x + s2.x) / 2.0,(s1.y+s2.y)/2.0);
//	printf("the distance of two spot is %.2f\n", sqrt(abs(s1.x - s2.x) * abs(s1.x - s2.x) + abs(s1.y - s2.y) * abs(s1.y - s2.y)));
//
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
//#include <stdbool.h>
//typedef struct Node
//{
//	int  n;
//	struct Node* next;
//}Node;
//static Node* node = NULL;
//void Create(Node** head, int data)
//{
//	if (*head == NULL)
//	{
//		node=*head = (Node*)malloc(sizeof(Node));
//		(*head)->n=data;
//	}
//	else
//	{
//		if (node == NULL)
//		{
//			exit(-1);
//		}
//		node->next =(Node*) malloc(sizeof(Node));
//		node = node->next;
//		node->n = data;
//		node->next = NULL;
//	}
//}
//
//Node* Deal(Node* head1, Node* head2)
//{
//	if (head1 == NULL)
//	{
//		return head2;
//	}
//	if (head2 == NULL)
//	{
//		return head1;
//	}
//
//	Node* newhead =NULL,*ret=NULL;
//	bool flag=true;
//	while (head1 && head2)
//	{
//		if (newhead==NULL)
//		{
//			ret=newhead = head1;
//			head1 = head1->next;
//		}
//		else
//		{
//			if (flag)
//			{
//				newhead->next = head2;
//				head2 = head2->next;
//				newhead = newhead->next;
//				flag = false;
//			}
//			else
//			{
//				newhead->next = head1;
//				head1 = head1->next;
//				newhead = newhead->next;
//				flag = true;
//			}
//		}
//	}
//
//	while (head1)
//	{
//		newhead->next = head1;
//		newhead = newhead->next;
//		head1 = head1->next;
//	}
//	while (head2)
//	{
//		newhead->next = head2;
//		newhead = newhead->next;
//		head2 = head2->next;
//
//	}
//
//
//	return ret;
//}
//
//int main()
//{
//	int arr1[] = { 1,4,6,8,30,45 };
//	int arr2[] = { 5,10,15 };
//	 Node* head1 = NULL, * head2 = NULL;
//	for (int i = 0; i < sizeof(arr1) / sizeof(arr1[0]); i++)
//	{
//		Create(&head1,arr1[i]);
//	}
//	Node* tmp = head1;
//	while (tmp)
//	{
//		printf("%d ", tmp->n);
//		tmp = tmp->next;
//	}
//	printf("\n");
//	for (int i = 0; i < sizeof(arr2) / sizeof(arr2[0]); i++)
//	{
//		Create(&head2, arr2[i]);
//	}
//	tmp = head2;
//	while (tmp)
//	{
//		printf("%d ", tmp->n);
//		tmp = tmp->next;
//	}
//	printf("\n");
//	Node* ret=Deal(head1, head2);
//	while (ret)
//	{
//		printf("%d ", ret->n);
//		ret = ret->next;
//	}
//	return 0;
//}

//#include <stdio.h>
//union {
//	char arr[4];
//	unsigned int x;
//}ex;
//int main()
//{
//	ex.x = 0x44434241;
//	printf("%c%c%c%c", ex.arr[0], ex.arr[1], ex.arr[2], ex.arr[3]);
//
//	return 0;
//}

//#include <stdio.h>
//union Un
//{
//	int x;
//	int y;
//};
//
//int main()
//{
//	union Un un;
//	un.x = 10;
//	union Un u1;
//	u1 = un;
//	printf("%d", u1.y);
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
//int main()
//{
//	int* ptr = (int*)malloc(sizeof(int)*10);
//	printf("%p\n", ptr);
//	int* ptr1= (int*)malloc(sizeof(int) * 10);
//	printf("%p\n", ptr1);
//	printf("%d\n", ptr- ptr1);
//	int x = 10;
//	int y = 20;
//	printf("%p\n%p\n", &x, &y);
//	return 0;
//}

#include <stdio.h>
//union
//{
//	int x;
//	char arr[10];
//}stu;
//int main()
//{
//	printf("%zd", sizeof(stu));
//
//
//	return 0;
//}
//union stu
//{
//	int y[10];
//	int x;
//}s={1,3,4,3,4,10};
//void Func1();
//void Func(union stu s)
//{
//
//}
//int main()
//{
//	Func(s);
//
//	return 0;
//}


//#include <stdio.h>
//#include <stdlib.h>
//int main()
//{
//	FILE* fp = fopen("eg9_1.txt","w");
//	if (fp == NULL)
//	{
//		perror("file open failed\n");
//		exit(-1);
//	}
//	else
//	{
//		int size= 0;
//		char ch= getchar();
//		while (ch != '\n')
//		{
//			fputc(ch,fp);
//			size++;
//			ch = getchar();
//		}
//		fclose(fp);
//		fp = fopen("eg9_1.txt", "r");
//		{
//			if (fp == NULL)
//			{
//				perror("file open failed\n");
//				exit(-2);
//			}
//			else
//			{
//				for (int i = 0; i < size; i++)
//				{
//					ch = fgetc(fp);
//					putchar(ch);
//				}
//
//			}
//		}
//		fclose(fp);
//	}
//
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
//int main()
//{
//	FILE* so = fopen("source.bin", "r");
//	if (so == NULL)
//	{
//		perror("source.bin open failed\n");
//		exit(-1);
//	}
//	else
//	{
//		FILE* dest = fopen("destination.txt", "w");
//		{
//			if (dest == NULL)
//			{
//				perror("destination.bin open failed\n");
//				exit(-2);
//			}
//		}
//		char c = fgetc(so);
//		while (c!=EOF)
//		{
//			fputc(c, dest);
//			 c=fgetc(so);
//		}
//		fclose(so);
//		fclose(dest);
//	}
//
//	return 0;
//}

//#include <stdlib.h>
//#include <stdio.h>
//#include <string.h>
//int main()
//{
//	FILE* fp1 = fopen("s3.txt", "w");
//	if (fp1 == NULL)
//	{
//		perror("file open failed:");
//		exit(-1);
//	}
//	printf("input a string:");
//	char inarr[30];
//	scanf("%s", inarr);
//	fputs(inarr, fp1);
//	fclose(fp1);
//	fp1 = fopen("s3.txt", "r");
//	if (fp1 == NULL)
//	{
//		perror("file open failed:");
//		exit(-2);
//	}
//	int n = strlen("hello world");
//	char str[30];
//	fgets(str, 11, fp1);
//	printf("%s\n", str);
//	fgets(str, 100, fp1);
//	printf("%s", str);
//	fclose(fp1);
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
//struct Student
//{
//	int num;
//	char name[20];
//	char sex;
//	int age;
//	float score;
//};
//int main()
//{
//	struct Student stu[2] = { {10,{'n','b','y','\0'},'m',19,90.1},{20,"lnb",'m',19,100.0} };
//	FILE* fp = fopen("s4", "wb");
//	if(fp==NULL)
//	{
//		perror("open file failed:");
//		exit(-1);
//	}
//
//	for(int i=0;i<2;i++)
//	fwrite(&stu[i], sizeof(stu[i]), 1,fp);
//	
//	fclose(fp);
//	
//	fp = fopen("s4", "rb");
//	if (fp == NULL)
//	{
//		perror("open file failed:");
//		exit(-2);
//	}
//	struct Student stu_r[2];
//	fread(stu_r, sizeof(stu_r), 2, fp);
//	for (int i = 0; i < 2; i++)
//	{
//		printf("num:%d\tname:%s\tsex:%c\tage:%d\tscore:%f\n",\
//		stu_r[i].num,stu_r[i].name,stu_r[i].sex,stu[i].age,stu[i].score);
//	}
//
//
//	return 0;
//}


//#include <stdio.h>
//#include <stdlib.h>
//int main()
//{
//	FILE* fp = fopen("s5.txt", "r");
//	if (fp == NULL)
//	{
//		perror("file open failed:");
//		exit(-1);
//	}
//	int integer;
//	char ch;
//	int ret;
//	while (!feof(fp))
//	{
//		/*ret=fscanf(fp, "%d%c", &integer,&ch);
//		printf("%d\n", integer);
//		printf("%c\n", ch);*/
//		ret = fscanf(fp, "%c%d", &ch, &integer);
//		printf("%c", ch);
//		printf("%d", integer);
//	}
//	//printf("ret=%d\n", ret);
//	fclose(fp);
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
//#include <time.h>
//int main()
//{
//	FILE* fp = fopen("s6.txt", "w");
//	if (fp == NULL)
//	{
//		perror("file open failed:");
//		exit(-1);
//	}
//	srand((unsigned int)time(NULL));
//	for (int i = 0; i < 5; i++)
//	{
//		
//		fprintf(fp, "%d,%d,%d,%d,%d\n", 20 + rand() % 81, 20 + rand() % 81, 20 + rand() % 81, 20 + rand() % 81, 20 + rand() % 81);
//	}
//	fclose(fp);
//	return 0;
//}


//#include <stdio.h>
//int main()
//{
//	FILE* fp = fopen("test.txt", "r");
//	if (fp == NULL)
//	{
//		return -1;
//	}
//	while (!feof(fp))
//	{
//		char ch=fgetc(fp);
//		printf("%d\n", ch);
//	}
//
//
//
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
//struct Student
//{
//	int num;
//	char name[20];
//	char sex;
//	int age;
//	float score;
//};
//int main()
//{
//	FILE* fp = fopen("s4", "rb");
//	if (fp == NULL)
//	{
//		perror("file open failed:");
//		exit(-1);
//	}
//	fseek(fp, -(int)sizeof(struct Student),2);
//	struct Student stu_r[2];
//	fread(stu_r, sizeof(struct Student), 1, fp);
//		for (int i = 0; i < 1; i++)
//	{
//		printf("num:%d\tname:%s\tsex:%c\tage:%d\tscore:%f\n",\
//		stu_r[i].num,stu_r[i].name,stu_r[i].sex,stu_r[i].age,stu_r[i].score);
//	}
//	return 0;
//}
//
//#include <stdio.h>
//int main()
//{
//	FILE* fp = fopen("s4", "rb");
//	fseek(fp, 0,0);
//	int ret=ftell(fp);
//	printf("%d", ret);
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	FILE* fp= fopen("test1.txt", "r");
//	if (fp == NULL)
//	{
//		return - 1;
//	}
//	char str[20];
//	fgets(str, 20, fp);
//	printf("%s\n", str);
//	char ch=fgetc(fp);
//	//printf("%s\n", str);
//	int ret=ferror(fp);
//	FILE* fp1 = fopen("test1.txt", "a");
//	if (fp1== NULL)
//	{
//		return -1;
//	}
//	char input[]="I just want to pass";
//	fputs(input, fp1);
//	fclose(fp1);
//
//	fgets(str, 20, fp);
//	printf("%s\n", str);
//	fclose(fp);
//	//printf("%p\n", ptr);
//	printf("%d\n", ch);
//	printf("ret=%d\n", ret);
//	ret = ferror(fp);
//	printf("ret=%d\n", ret);
//
//	return 0;
//
//
//}


//#include <stdio.h>
//#include <stdlib.h>
//int main()
//{
//	FILE* fp = fopen("s8.txt", "w");
//	if (fp == NULL)
//	{
//		perror("file open failed:");
//		exit(-1);
//	}
//	char str[20];
//	scanf("%s", str);
//	fputs(str,fp);
//	fseek(fp, 0, 2);
//	int ret1=ftell(fp);
//	printf("%d", ret1);
//	fclose(fp);
//	fp = fopen("s8.txt", "r");
//	if (fp == NULL)
//	{
//		perror("file oepn failed:");
//		exit(-1);
//	}
//	char ret[20];
//	fgets(ret, 20,fp);
//	for (int i = 0; i < sizeof(ret) / sizeof(ret[i]); i++)
//	{
//		if (ret[i] >= 'A' && ret[i] <= 'Z')
//		{
//			ret[i] += 32;
//		}
//	}
//	printf("%s", ret);
//	return 0;
//}

//#include  <stdio.h>
//#include <stdlib.h>
//#include <string.h>
//int main()
//{
//	char str[20];
//	//A
//	FILE* fpA = fopen("A", "w");
//	if (fpA == NULL)
//	{
//		perror("A fopen failed:");
//		exit(-1);
//	}
//	printf("input a line of letter:");
//	scanf("%s", str);
//	fputs(str, fpA);
//	fclose(fpA);
//	
//	//B
//	FILE* fpB = fopen("B", "w");
//	if (fpB == NULL)
//	{
//		perror("B fopen failed:");
//		exit(-1);
//	}
//	printf("input a line of letter:");
//	scanf("%s", str);
//	fputs(str, fpB);
//	fclose(fpB);
//
//
//	char str1[20];
//	char str2[20];
//	char all[40];
//	fpA = fopen("A", "r");
//	if (fpA == NULL)
//	{
//		perror("A fopen failed:");
//		exit(-1);
//	}
//	fgets(str1, sizeof(str1), fpA);
//	fclose(fpA);
//
//
//	fpB = fopen("B", "r");
//	if (fpB == NULL)
//	{
//		perror("B fopen failed:");
//		exit(-1);
//	}
//	fgets(str2, sizeof(str2), fpB);
//	fclose(fpB);
//
//	for (int i = 0; i < strlen(str1)-1; i++)
//	{
//		for (int j = 0; j < strlen(str1) - i - 1; j++)
//		{
//			if (str1[j] > str1[j + 1])
//			{
//				int tmp = str1[j];
//				str1[j] = str1[j + 1];
//				str1[j + 1] = tmp;
//			}
//		}
//	}
//
//	strcpy(all,str1);
//
//	for (int i = 0; i < strlen(str2); i++)
//	{
//		int j = 0;
//		while (str2[i] > all[j])
//		{
//			j++;
//		}
//
//		for ( int k = strlen(all); k >=j; k--)
//		{
//			all[k + 1] = all[k];
//		}
//		all[j] = str2[i];
//	}
//
//	printf("all:%s\n", all);
//
//	FILE* fpC = fopen("C", "w");
//	if (fpC == NULL)
//	{
//		perror("fpC fopen failed:");
//		exit(-1);
//	}
//	fputs(all, fpC);
//	fclose(fpC);
//
//	fpC = fopen("C", "r");
//	if (fpC == NULL)
//	{
//		perror("fpC fopen failed:");
//		exit(-1);
//	}
//	fgets(all,sizeof(all),fpC);
//	printf("fpC:%s\n", all);
//
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
//#define N 10
//int main()
//{
//	int num[N] = { 0 };
//	printf("input ten number:");
//	for (int i = 0; i < N; i++)
//	{
//		scanf("%d", &num[i]);
//	}
//	FILE* fp = fopen("s10", "w");
//	if (fp == NULL)
//	{
//		perror("fp fopen failed:");
//		exit(-1);
//	}
//	for (int i = 0; i < N; i++)
//		fprintf(fp, "%d ", num[i]);
//	fclose(fp);
//	
//	int back[10];
//	fp = fopen("s10", "r");
//	if (fp == NULL)
//	{
//		perror("fp fopen failed:");
//		exit(-1);
//	}
//	for (int i = 0; i < N; i++)
//		fscanf(fp, "%d", back + i);
//
//	for (int i = 0; i < N; i++)
//	{
//		if (back[i] % 2 == 0)
//		{
//			back[i] -= 1;
//		}
//		else
//		{
//			back[i] += 1;
//		}
//	}
//
//	fp = fopen("s11", "w");
//	if (fp == NULL)
//	{
//		perror("fp fopen failed:");
//		exit(-1);
//	}
//	for (int i = 0; i < N; i++)
//		fprintf(fp, "%d ", back[i]);
//
//
//	return 0;
//
//
//}


//#include <stdio.h>
//#include <stdlib.h>
//int main()
//{
//	printf("input a line of number:");
//	int num[10];
//
//
//	FILE* fp = fopen("s12", "wb");
//	if (fp == NULL)
//	{
//		perror("fp fopen failed:");
//		exit(-1);
//	}
//
//	for (int i = 0; i < 10; i++)
//	{
//		scanf("%d", num + i);
//		fwrite(num+i, sizeof(int), 1, fp);
//	}
//	fclose(fp);
//	fp = fopen("s12", "rb");
//	if (fp == NULL)
//	{
//		perror("fp fopen failed:");
//		exit(-1);
//	}
//	int total[10];
//	fread(total, sizeof(int), 10, fp);
//	fclose(fp);
//	for (int i = 0; i < 10; i++)
//	{
//		printf("%d ", total[i]);
//	}
//	
//
//	return 0;
//}


//#include <stdio.h>
//int main()
//{
//	FILE* fp = fopen("test2.txt","w");
//	fprintf(fp, "%c%c", -1, 'b');
//	fclose(fp);
//	fp = fopen("test2.txt", "r");
//	char str[10];
//	fscanf(fp," %c",&str[0]);
//	fscanf(fp," %c", &str[1]);
//	//fscanf(fp,"%c", &str[2]);
//	str[2] = 0;
//	printf("%s", str);
//
//
//
//	return 0;
//}

//#include <stdio.h>
//void func()
//{
//
//}
//static int a = 10;
//int main()
//{
//	printf("%p\n","hello world");
//	printf("%p\n", func);
//	printf("%p\n", &a);
//
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	char c = 48.1;
//	putchar(c);
//	fputc
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
//struct Student
//{
//	char name[20];
//	int age;
//};
//int main()
//{
//	struct Student stu={"罗",19};
//	FILE* fp = fopen("test3.txt", "w+");
//	if(fp==NULL)
//	{
//		perror("fp fopen failed:");
//		exit(-1);
//	}
//	fwrite(&stu,sizeof(struct Student),1,fp);
//	fclose(fp);
//	fp = fopen("test3.txt", "r");
//	if (fp == NULL)
//	{
//		perror("fp fopen failed:");
//		exit(-1);
//	}
//	struct Student ret;
//	fread(&ret, sizeof(ret), 1, fp);
//	printf("%s:%d\n", ret.name, ret.age);
//
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	FILE* fp = fopen("test4.txt", "w+");
//	if (fp == NULL)
//	{
//		perror("fp fopen failed:");
//		exit(-1);
//	}
//	fputs("hello ",fp);
//	int pos=ftell(fp);
//	printf("pos:%d\n", pos);
//	fseek(fp, 0, 0);
//	char str[10];
//	fgets(str, 10, fp);
//	printf("str:%s\n", str);
//	 pos = ftell(fp);
//	 printf("pos:%d\n", pos);
//	 void* ret=fgets(str, 10, fp);
//	 printf("%p", ret);
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
//#define LEN 40
//int main()
//{
//	char input[LEN];
//	printf("input a string:");
//	gets(input);
//	FILE* fp1 = fopen("g1.txt", "w");
//	if (fp1 == NULL)
//	{
//		perror("fp fopen failed:");
//		exit(-1);
//	}
//	fputs(input, fp1);
//	fclose(fp1);
//
//	fp1 = fopen("g1.txt", "r");
//	if (fp1 == NULL)
//	{
//		perror("fp fopen failed:");
//		exit(-1);
//	}
//	char str[LEN];
//	fgets(str, LEN,fp1);
//	fclose(fp1);
//	
//	fp1 = fopen("g2.txt", "w");
//	if (fp1 == NULL)
//	{
//		perror("fp fopen failed:");
//		exit(-1);
//	}
//	fputs(str, fp1);
//	fclose(fp1);
//
//	char total[LEN];
//	fp1 = fopen("g2.txt", "r");
//	if (fp1 == NULL)
//	{
//		perror("fp fopen failed:");
//		exit(-1);
//	}
//	fgets(total, LEN, fp1);
//	fclose(fp1);
//
//	printf("total:%s\n", total);
//	int letter = 0, number = 0, other=0;
//	for (int i = 0; str[i]; i++)
//	{
//		if (str[i] >= '1' && str[i] <= '9')
//		{
//			number++;
//		}
//		else if (str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z')
//		{
//			letter++;
//		}
//		else
//		{
//			other++;
//		}
//	}
//
//	printf("letter:%d,number:%d,other:%d\n", letter, number, other);
//
//
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
//int main()
//{
//	float arr[10];
//	FILE* fp = fopen("g3.dat", "wb");
//	if (fp == NULL)
//	{
//		exit(-1);
//	}
//	printf("input ten float number:");
//	for (int i = 0; i < 10; i++)
//	{
//		scanf("%f", arr+i);
//	}
//
//	fwrite(arr, sizeof(float), 10, fp);
//	fclose(fp);
//
//	float ret[10];
//	fp = fopen("g3.dat", "rb");
//	if (fp == NULL)
//	{
//		exit(-1);
//	}
//	fread(ret, sizeof(ret),1, fp);
//	fclose(fp);
//	for (int i = 0; i < 10; i++)
//	{
//		printf("%f ", ret[i]);
//	}
//
//
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
//int main()
//{
//	FILE* fp = fopen("g4.txt", "a+");
//	if (fp == NULL)
//	{
//		exit(-1);
//	}
//	int x = 0;
//	int z = 0,f=0,zero=0;
//	while (!feof(fp))
//	{
//		if (fscanf(fp,"%d", &x) != EOF)
//		{
//			if (x > 0)
//			{
//				z++;
//			}
//			else if (x == 0)
//			{
//				zero++;
//			}
//			else
//			{
//				f++;
//			}
//		}
//	}
//
//	fprintf(fp," 正数:%d,负数:%d,零:%d\n", z, f, zero);
//	fclose(fp);
//
//	return 0;
//}

//#include <stdio.h>
//struct Student
//{
//	char name[20];
//	int num;
//	float score1;
//	float score2;
//	float total;
//};
//int main()
//{
//	struct Student stu[3];
//	for (int i = 0; i < 3; i++)
//	{
//		scanf("%s%d%f%f", stu[i].name, &stu[i].num, &stu[i].score1,&stu[i].score2);
//		stu[i].total = stu[i].score1 + stu[i].score2;
//	}
//	FILE* fp = fopen("student", "w");
//	if (fp == NULL)
//	{
//		return -1;
//	}
//	fwrite(stu, sizeof(stu), 1, fp);
//	fclose(fp);
//
//	fp = fopen("student", "r");
//	if (fp == NULL)
//	{
//		return -1;
//	}
//
//	struct Student ret[3];
//	fread(ret, sizeof(ret), 1, fp);
//	fclose(fp);
//
//	printf("name\tnum\tsocre1\tscore2\ttotal\n");
//	for (int i = 0; i < 3; i++)
//	{
//		printf("%s\t%d\t%.1f\t%.1f\t%.1f\n", stu[i].name, stu[i].num, stu[i].score1, stu[i].score2, stu[i].total);
//	}
//
//	return 0;
//}


//#include <stdio.h>
//struct Person
//{
//	int num;
//	char name[20];
//	char sex[4];
//	char tele[20];
//};
//int main()
//{
//	struct Person lu;
//	printf("input relevant info:");
//	scanf("%d%s%s%s",&lu.num, lu.name, lu.sex, lu.tele);
//	FILE* fp = fopen("address.txt", "ab");
//	if (fp == NULL)
//	{
//		return -1;
//	}
//	fprintf(fp,"\n%d %s %s %s", lu.num, lu.name, lu.sex, lu.tele);
//	fclose(fp);
//	fp = fopen("address.txt", "r");
//	if (fp == NULL)
//	{
//		return -1;
//	}
//	int ret1;
//	printf("序号\t姓名\t性别\t电话号码\n");
//	struct Person ret;
//	while (!feof(fp))
//	{
//		 if(fscanf(fp, "%d%s%s%s", &ret.num, ret.name, ret.sex, ret.tele)!=EOF)
//			 printf("%d\t%s\t%s\t%s\n", ret.num, ret.name, ret.sex, ret.tele);
//	}
//	//printf("ret=%d", ret1);
//	getc();
//	return 0;
//}

//#include<stdio.h>
//#include<stdlib.h>
//int main(void)
//{
//	FILE* fp1, * fp2;
//	char ch;
//	int n1, n2, n3;
//	n1= n2= n3= 0;
//	if((fp1= fopen("g1.txt", "r")) == NULL)
//	{
//		printf("Cannot open this file.\n");
//		exit(0);
//	}
//	if((fp2= fopen("g2.txt", "w")) == NULL)
//	{
//		printf("Cannot open this file.\n");
//		exit(0);
//	}
//	while(!feof(fp1))
//	{
//		ch= getc(fp1);
//		putc(ch, fp2);
//		if(ch>= 'A' && ch <= 'Z' || ch >= 'a' && ch <= 'z')
//			n1++;
//		else if(ch>= '0' && ch<= '9')
//			n2++;
//		else
//			n3++;
//	}
//	rewind(fp1);
//	while(!feof(fp1))
//		putchar(getc(fp1));
//	fclose(fp1);
//	fclose(fp2);
//	printf("\nletter=%d,digit=%d,others=%d\n", n1, n2, n3);
//	return 0;
//}

//#include<stdio.h>
//#include<stdlib.h>
//int main(void)
//{
//	FILE* fp;
//	int i;
//	double a[10], b[10];
//	if ((fp = fopen("g3.dat", "wb+")) == NULL)
//	{
//		printf("file can not open!\n");
//		exit(0);
//	}
//	printf("Input data：\n");
//	for(i= 0;i< 10;i++)
//		scanf("%lf", &a[i]);
//	for(i= 0;i< 10;i++)
//		fwrite(a+ i, sizeof(double), 1, fp);
//	printf("\n");
//	rewind(fp);
//	fread(b, sizeof(double), 10, fp);
//	printf("Output data：\n");
//	for(i= 0;i< 10;i++)
//		printf("%.1f\n", b[i]);
//	fclose(fp);
//	return 0;
//}
//#include<stdio.h>
//#include<stdlib.h>
//int main(void)
//{
//	int num = 0;
//	int p= 0, n= 0, z= 0, temp;
//	FILE* fp;
//	if((fp= fopen("g4.txt", "r")) == NULL)
//	{
//		printf("Cannot open this file.\n");
//		exit(0);
//	}
//
//	else
//	fscanf(fp, "%d", &temp);
//	while(!feof(fp))
//	{
//		if(temp> 0)p++;
//		else if(temp< 0)n++;
//		else z++;
//		fscanf(fp, "%d", &temp);
//		printf("%d ",temp);
//		num++;
//	}
//	printf("\nnum:%d", num);
//	fclose(fp);
//	printf("positive:%d,negtive:%d,zero:%d\n", p, n, z);
//	fp= fopen("g4.txt", "a");
//	fprintf(fp, "positive:%d,negtive:%d,zero:%d\n", p, n, z);
//	return 0;
//}

//#include<stdio.h>
//#include<stdlib.h>
//int main(void)
//{
//	FILE* fp3;
//	int b[] = { 10,20,30,40,50,60,70,80,90,100 }, i = 0, n;
//	if ((fp3 = fopen("file9_3.txt", "w+")) == NULL)
//	{
//		printf("%s不能打开\n", "file9_3.txt");
//		exit(1);
//	}
//	while(i< 10)
//	{
//		fprintf(fp3, "%d ", b[i]);
//		if(i% 3 == 0)
//			fprintf(fp3, "\n");
//		i++;
//	}
//	 rewind(fp3);//修改为：rewind(fp3); 
//	while(!feof(fp3))
//	{
//		fscanf(fp3, "%d", &n);
//		printf("%5d", n);
//	}
//	printf("\n");
//	fclose(fp3);
//	return 0;
//}


//#include <stdio.h>
//void fun()
//{
//#define MAX 10
//}
//int main()
//{
////#undef MAX
//	printf("%d", MAX);
//
//#if !defined
//
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
///*#ifndef NUM
//
//#else
//#define NONE
//#endif
//
//#ifdef NUM
//	printf("define NUM");
//#else
//	printf("define NUM+NONE");
//#endif
//*/
//
//#define NUM 10
//
//#if 10<1
//	printf("NUM==10");
//#else
//		printf("NONE");
//#endif
//
//
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	char name[10];
//	scanf("%*s");
//	printf("%s", name);
//
//
//	return 0;
//}

//#include <stdio.h>
//#include <stdlib.h>
//int main()
//{
//	FILE* fp = fopen("test5.txt", "w+");
//	if (fp == NULL)
//	{
//		perror("fp fopen failed:");
//		exit(-1);
//	}
//	fputs("hello world", fp);
//
//	rewind(fp);
//	char ret[20];
//	fgets(ret, 20, fp);
//	_Bool flag=feof(fp);
//	//void* ret=fgets(ret, 20, fp);
//	if (flag)
//	{
//		printf("file end");
//		int ret=ferror(fp);
//		if (ret)
//		{
//			printf("error");
//		}
//		else
//		{
//			printf("not error\n");
//		}
//	}
//	else
//	{
//		printf("not file end\n");
//	}
//
//	fputs("nihao",fp);
//	//rewind(fp);
//	flag = feof(fp);
//	if (flag)
//	{
//		printf("need clear\n");
//	}
//	else
//	{	
//		printf("dont need clear\n");
//	}
//	printf("%d",ftell(fp));
//	return 0;
//}


#include <stdio.h>
struct A
{
	char name[20];
	int age;
};
int main()
{
	struct A a={"lnb",20};
	FILE* fp = fopen("test5.txt", "wb");
	fwrite(&a, sizeof(struct A), 1, fp);
	printf("%d", ftell(fp));


	return 0;
}